import { IPSAppDEAction } from '../../app/dataentity/ipsapp-deaction';
import { IPSAppDEDataSet } from '../../app/dataentity/ipsapp-dedata-set';
import { IPSAppDEField } from '../../app/dataentity/ipsapp-defield';
import { IPSAppViewUIAction } from '../../app/view/ipsapp-view-uiaction';
import { IPSDECalendarItem } from './ipsdecalendar-item';
import { IPSDEOPPriv } from '../../dataentity/priv/ipsdeoppriv';
import { IPSSysPFPlugin } from '../../res/ipssys-pfplugin';
import { IPSUIAction } from '../../view/ipsuiaction';

/**
 *
 * @export
 * @interface IPSSysCalendarItem
 */
export interface IPSSysCalendarItem extends IPSDECalendarItem {
  /**
   * 背景颜色应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getBKColorPSAppDEField(): IPSAppDEField | null;

  /**
   * 开始时间应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getBeginTimePSAppDEField(): IPSAppDEField | null;

  /**
   * 项样式表值应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getClsPSAppDEField(): IPSAppDEField | null;

  /**
   * 文本颜色应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getColorPSAppDEField(): IPSAppDEField | null;

  /**
   * 内容应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getContentPSAppDEField(): IPSAppDEField | null;

  /**
   * 建立数据应用实体行为
   *
   * @type {IPSAppDEAction}
   */
  getCreatePSAppDEAction(): IPSAppDEAction | null;

  /**
   * 建立要求操作标识
   *
   * @type {IPSDEOPPriv}
   */
  getCreatePSDEOPPriv(): IPSDEOPPriv | null;

  /**
   * 附加查询条件
   * @type {string}
   */
  customCond: string;

  /**
   * 数据值2应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getData2PSAppDEField(): IPSAppDEField | null;

  /**
   * 数据值应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getDataPSAppDEField(): IPSAppDEField | null;

  /**
   * 日历项默认行为
   *
   * @type {IPSAppViewUIAction}
   */
  getDefaultPSUIAction(): IPSAppViewUIAction | null;

  /**
   * 结束时间应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getEndTimePSAppDEField(): IPSAppDEField | null;

  /**
   * 项图标值应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getIconPSAppDEField(): IPSAppDEField | null;

  /**
   * 项标识值应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getIdPSAppDEField(): IPSAppDEField | null;

  /**
   * 级别应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getLevelPSAppDEField(): IPSAppDEField | null;

  /**
   * 应用实体数据集
   *
   * @type {IPSAppDEDataSet}
   */
  getPSAppDEDataSet(): IPSAppDEDataSet | null;

  /**
   * 前端模板插件
   *
   * @type {IPSSysPFPlugin}
   */
  getPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 日历项默认行为
   *
   * @type {IPSUIAction}
   */
  getPSUIAction(): IPSUIAction | null;

  /**
   * 删除数据应用实体行为
   *
   * @type {IPSAppDEAction}
   */
  getRemovePSAppDEAction(): IPSAppDEAction | null;

  /**
   * 删除要求操作标识
   *
   * @type {IPSDEOPPriv}
   */
  getRemovePSDEOPPriv(): IPSDEOPPriv | null;

  /**
   * 标记值2应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getTag2PSAppDEField(): IPSAppDEField | null;

  /**
   * 标记值应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getTagPSAppDEField(): IPSAppDEField | null;

  /**
   * 项文本值应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getTextPSAppDEField(): IPSAppDEField | null;

  /**
   * 提示应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getTipsPSAppDEField(): IPSAppDEField | null;

  /**
   * 更新数据应用实体行为
   *
   * @type {IPSAppDEAction}
   */
  getUpdatePSAppDEAction(): IPSAppDEAction | null;

  /**
   * 更新要求操作标识
   *
   * @type {IPSDEOPPriv}
   */
  getUpdatePSDEOPPriv(): IPSDEOPPriv | null;
}
